package com.qidianit.mes.pojo.pro;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qidianit.mes.pojo.Material;

import java.util.Date;

/**
 * 工艺流程关联商品实体类
 * 对应数据表：mes_pro_workflow_product
 * 作用：关联工艺流程与商品，标识商品适用的工艺流程
 */
@TableName("mes_pro_workflow_product")
public class WorkflowProduct {
    /**
     * 主键ID
     */
    private Long id;

    /**
     * 关联工艺流程ID（关联mes_pro_workflow.id）
     */
    private Long workflowId;

    /**
     * 商品编号（关联商品表的商品编码）
     */
    private String productCode;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 创建时间（默认CURRENT_TIMESTAMP）
     */
    private Date createTime;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 最后修改时间
     */
    private Date updateTime;

    /**
     * 修改人
     */
    private String updateBy;

    /**
     * 删除标记(0未删除/1已删除，默认0)
     */
    private Integer deleteFlag;

    @TableField(exist = false)
    private Material product;

    public Material getProduct() {
        return product;
    }

    public void setProduct(Material product) {
        this.product = product;
    }

    // getter/setter方法
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getWorkflowId() {
        return workflowId;
    }

    public void setWorkflowId(Long workflowId) {
        this.workflowId = workflowId;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Integer getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(Integer deleteFlag) {
        this.deleteFlag = deleteFlag;
    }
}